// 程序入口,相当于main方法
// 这里从vue下导入了一个createApp方法\函数
import { createApp } from 'vue'
// 从Element-Plus导入该组件
import ElementPlus from 'element-plus'
// 导入了我们默认的app组件
import App from './App.vue'
// 导入ElementPlus的中文包
import zhCn from 'element-plus/es/locale/lang/zh-cn';
import 'element-plus/dist/index.css'
import router from "./router/router.js"
import * as ElementPlusIconsVue from '@element-plus/icons-vue';
import { doGet } from './http/httpRequest.js';

// 利用上面导入的createApp函数创建一个vue应用
// 并将app挂载到这个#app这个ID下
let app = createApp(App);
// 把所有的图标以component的形式注册上去
for (const [key, component] of Object.entries(ElementPlusIconsVue)) {
    app.component(key, component)
}

// el是绑定的页面dom元素,可以直接操作dom
// binding是对象,内涵属性,value就是传递过来的值
app.directive('hasDelPermission',(el,binding)=>{
    doGet("/api/login/info",{}).then(resp => {
        let permissionList = resp.data.data.permissionList;
        let flag = false;
        for(let key in permissionList){
            if(permissionList[key] === binding.value){
                flag = true;
                break;
            }
        }
        if(!flag){
            // 没有权限,就隐藏这个元素
            // el.style.display = 'none';
            // 删除元素节点
            el.parentNode && el.parentNode.removeChild(el);
        }
    });
    // if(!hasPermission(binding.value)){
    //     // 没有权限,就隐藏这个元素
    //     el.style.display = 'none';
    // }
    // else{
    //     el.style.display = 'block';
    // }
    // // 这里是异步请求了,前后拿不到...
    // function hasPermission(permission){
    //     doGet("/api/login/info",{}).then(resp => {
    //         let permissionList = resp.data.data.permissionList;
    //         for(let key in permissionList){
    //             if(permissionList[key] === permission){
    //                 return true;
    //             }
    //         }
    //         return false;
    //     });
    // }
});

app.use(ElementPlus,{locale: zhCn,}).use(router).mount('#app')